package com.app.ryjy.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 单位类型枚举
 */
@AllArgsConstructor
@Getter
public enum UnitTypeEnum {
    // 机关
    GOVERNMENT("机关", 30, -1),
    // 事业单位
    PUBLIC_INSTITUTION("事业单位", 50, -1),
    // 全额拨款事业单位
    FULLY_FUNDED_PUBLIC_INSTITUTION("全额拨款事业单位", 55, -1),
    // 差额拨款事业单位
    PARTIALLY_FUNDED_PUBLIC_INSTITUTION("差额拨款事业单位", 56, -1),
    // 自收自支事业单位
    SELF_FINANCED_PUBLIC_INSTITUTION("自收自支事业单位", 57, -1),
    // 社会团体
    SOCIAL_ORGANIZATION("社会团体", 70, -1),
    // 个体工商户(有雇工的)
    INDIVIDUAL_BUSINESS_EMPLOYER("个体工商户(有雇工的)", 81, -1),
    // 律师事务所
    LAW_FIRM("律师事务所", 82, -1),
    // 会计师事务所
    ACCOUNTING_FIRM("会计师事务所", 83, -1),
    // 企业
    ENTERPRISE("企业", 10, -1),
    // 驻华代表机构
    REPRESENTATIVE_OFFICE_IN_CHINA("驻华代表机构", 84, -1),
    // 外国常驻新闻机构
    FOREIGN_PERMANENT_NEWS_AGENCY("外国常驻新闻机构", 85, -1),
    // 外国企业常驻代表机构
    FOREIGN_ENTERPRISE_REPRESENTATIVE_OFFICE("外国企业常驻代表机构", 86, -1),
    // 其他组织机构
    OTHER_ORGANIZATION("其他组织机构", 90, -1),
    // 民办非企业单位
    PRIVATE_NON_ENTERPRISE_UNIT("民办非企业单位", 91, -1),
    // 基金会
    FOUNDATION("基金会", 93, -1),
    // 宗教活动场所
    RELIGIOUS_ACTIVITY_PLACE("宗教活动场所", 94, -1),
    // 农村村民委员会
    RURAL_VILLAGE_COMMITTEE("农村村民委员会", 95, -1),
    // 城市居民委员会
    URBAN_RESIDENT_COMMITTEE("城市居民委员会", 96, -1),
    // 其他
    OTHER("其他", 99, -1);

    private final String desc;
    private final int code;
    private final int bizCode;

    public static int getCodeByBizCode(int bizCode) {
        for (UnitTypeEnum type : values()) {
            if (type.getBizCode() == bizCode) {
                return type.getCode();
            }
        }
        throw new RuntimeException("bizCode不存在"); // 或者抛出一个异常，如果bizCode不存在
    }

    public static void main(String[] args) {
        System.out.println(UnitTypeEnum.getCodeByBizCode(2));
    }
}